/** * Licensed under the Artistic License; you may not use this file * except in compliance with the License. * You may obtain a copy of the License at * * http://displaytag.sourceforge.net/license.html * * THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. */ package org.displaytag.tags; import java.beans.IntrospectionException; import java.beans.PropertyDescriptor; import java.beans.SimpleBeanInfo; import java.util.ArrayList; import java.util.List; import org.apache.commons.lang.UnhandledException; /** * Needed to make the "class" tag attribute working. * @author Fabrizio Giustina * @version $Revision$ ($Author$) */ public class CaptionTagBeanInfo extends SimpleBeanInfo { /** * @see java.beans.BeanInfo#getPropertyDescriptors() */ public PropertyDescriptor[] getPropertyDescriptors() { List<PropertyDescriptor> proplist = new ArrayList<PropertyDescriptor>(); try { proplist.add(new PropertyDescriptor("class", //$NON-NLS-1$ CaptionTag.class, null, "setClass")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("dir", //$NON-NLS-1$ CaptionTag.class, null, "setDir")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("id", //$NON-NLS-1$ CaptionTag.class, null, "setId")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("lang", //$NON-NLS-1$ CaptionTag.class, null, "setLang")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("media", //$NON-NLS-1$ CaptionTag.class, null, "setMedia")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("style", //$NON-NLS-1$ CaptionTag.class, null, "setStyle")); //$NON-NLS-1$ proplist.add(new PropertyDescriptor("title", //$NON-NLS-1$ CaptionTag.class, null, "setTitle")); //$NON-NLS-1$ // make ATG Dynamo happy: // Attribute "className" of tag "caption" in taglib descriptor file displaytag-11.tld" must have a // corresponding property in class "org.displaytag.tags.CaptionTag" with a public setter method proplist.add(new PropertyDescriptor("className", //$NON-NLS-1$ CaptionTag.class, null, "setClass")); //$NON-NLS-1$ } catch (IntrospectionException ex) { throw new UnhandledException("You got an introspection exception - maybe defining a property that is not" + " defined in the CaptionTag?: " + ex.getMessage(), ex); } PropertyDescriptor[] result = new PropertyDescriptor[proplist.size()]; return proplist.toArray(result); } }